package com.efamily.ewallet.client.account.service;

import java.util.List;

import com.efamily.ewallet.client.account.bean.AccountBean;
import com.efamily.ewallet.client.account.bean.AccountSearchConfig;
import com.efamily.ewallet.client.common.bean.UserBean;
import com.efamily.ewallet.client.exception.WrongAccountNameException;
import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("account")
public interface AccountManagerService extends RemoteService {

	List<String> getCountriesList();
	
	void createAccount(AccountBean accountBean, String password, String mail) throws WrongAccountNameException;
	
	boolean verifyNickName(String nickName);
	
	public PagingLoadResult<AccountBean> getPublicAccountList(
			AccountSearchConfig searchConfig, PagingLoadConfig config);

	boolean deleteAccounts(List<Integer> accountsID);
	
}
